home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_objc.idb / usr / freeware / include / cakit / cobject.h.z / cobject.h
Encoding:
C/C++ Source or Header  |  1999-07-16  |  2.6 KB  |  159 lines

  1.  
  2. /*
  3.  * Computer Algebra Kit (c) 1993,98 by Comp.Alg.Objects.  All Rights Reserved.
  4.  * $Id: cobject.h,v 1.1.1.1 1999/03/22 21:48:43 stes Exp $
  5.  */
  6.  
  7. #ifndef __CAOBJECT_HEADER__
  8. #define __CAOBJECT_HEADER__
  9.  
  10. #include "stdio.h"
  11.  
  12. #ifndef __OBJECT_INCLUDED__
  13. #define __OBJECT_INCLUDED__
  14. #include "Object.h"        /* Stepstone Object.h assumes #import */
  15. #endif
  16.  
  17. @interface CAObject : Object
  18. {
  19.   int refCount;
  20.   STR _str;
  21. }
  22.  
  23. + (STR) cakitRevision;
  24.  
  25. + new;
  26. + str:(STR)aString;
  27. + int:(int)intValue;
  28. - copy;
  29. - deepCopy;
  30. - cheapCopy;
  31. - clear;
  32. - free;
  33.  
  34. - (BOOL) sameClass:a;
  35. - (BOOL) differentClass:a;
  36. - (BOOL) isKindOfSequence;
  37.  
  38. - (STR) str;
  39. - str:(STR)aString;
  40. - (int) intValue;
  41. - intValue:(int)i;
  42. - asModp:(unsigned short)p;
  43. - (BOOL) isFloatingPoint;
  44. - asNumerical;
  45. - (float) floatValue;
  46. - floatValue:(float)f;
  47. - asTotalFraction;
  48. - asScalar;
  49. - asSymbol;
  50.  
  51. - (BOOL) isEqual:a;
  52. - (BOOL) notEqual:a;
  53.  
  54. - (BOOL) inOrderedSet;
  55. - (int) compare:b;
  56. - (int) sign;
  57. - (BOOL) isLess:a;
  58. - (BOOL) isGreater:a;
  59. - (BOOL) isLessEqual:a;
  60. - (BOOL) isGreaterEqual:a;
  61. - absValue;
  62.  
  63. - (BOOL) inAdditiveSemiGroup;
  64. - (BOOL) inAdditiveMonoid;
  65. - (BOOL) inAdditiveGroup;
  66. - (BOOL) isZero;
  67. - (BOOL) notZero;
  68. - (BOOL) isOpposite:b;
  69. - (BOOL) notOpposite:b;
  70. - zero;
  71. - negate;
  72. - add:b;
  73. - subtract:b;
  74. - increment;
  75. - decrement;
  76. - multiplyIntValue:(int)b;
  77. - double;
  78. - quadruple;
  79. - divideIntValue:(int)b;
  80. - half;
  81. - quarter;
  82.  
  83. - (BOOL) commutes;
  84. - (BOOL) commutesWith:b;
  85. - (BOOL) inSemiGroup;
  86. - (BOOL) inMonoid;
  87. - (BOOL) inGroup;
  88. - one;
  89. - minusOne;
  90. - (BOOL) isOne;
  91. - (BOOL) notOne;
  92. - (BOOL) isMinusOne;
  93. - (BOOL) notMinusOne;
  94. - square;
  95. - multiply:b;
  96. - power:(int)n;
  97. - inverse;
  98. - (BOOL) isUnit;
  99. - (BOOL) notUnit;
  100. - divide:b;
  101.  
  102. - remainder:b quotient:(id *)q;
  103. - remainder:b;
  104. - quotient:b;
  105.  
  106. - (BOOL) inEuclideanDomain;
  107. - (BOOL) isCoprime:b;
  108. - (BOOL) notCoprime:b;
  109. - (BOOL) isGcd:a:b;
  110. - (BOOL) isLcm:a:b;
  111. - gcd:b;
  112. - bezout:b gcd:(id *)gcd;
  113. - lcm:b;
  114.  
  115. - modulo:m;
  116. - multiply:b modulo:m;
  117. - squareModulo:m;
  118. - power:(int)n modulo:m;
  119. - inverseModulo:m;
  120.  
  121. - random;
  122.  
  123. - (int) characteristic;
  124. - (BOOL) isCharacteristicZero;
  125. - (BOOL) notCharacteristicZero;
  126. - (BOOL) isCharacteristicTwo;
  127. - (BOOL) notCharacteristicTwo;
  128. - frobenius;
  129. - frobeniusInverse;
  130. - (int) dimensionOverPrimeField;
  131.  
  132. - (BOOL) inRing;
  133. - (BOOL) inIntegralDomain;
  134. - (BOOL) inField;
  135. - (BOOL) inFieldOfFractions;
  136.  
  137. - scalarZero;
  138. - scalarContent;
  139. - divideScalarContent;
  140. - multiplyScalar:s;
  141. - divideScalar:s;
  142. - addScalar:s;
  143. - subtractScalar:s;
  144.  
  145. - (BOOL) printsLeadingSign;
  146. - (BOOL) printsSum;
  147. - (BOOL) printsProduct;
  148. - printOn:(IOD)aFile;
  149. - fileOutOn:aFiler;
  150. - fileInFrom:aFiler;
  151. - addReference;            /* Obsoleted, use -cheapCopy */
  152.  
  153. @end
  154.  
  155. id idReplace(id o, id n);
  156.  
  157. #endif                /* __CAOBJECT_HEADER__ */
  158.  
  159.